home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
MacWorld 1999 January - Disc 2
/
Macworld (1999-01) (Disk 2).dmg
/
Serious Demos
/
Symbolic Composer 4.2
/
Environment
/
Projects
/
Examples
/
Demos
/
Cardew1a
< prev
next >
Wrap
Lisp/Scheme
|
1998-10-26
|
4KB
|
146 lines
;;; Cardew Studies for six musicians: for Sam Richards
; No.1 Rising, falling, hovering. . .
; by Nigel Morgan
; to analyze the score double-click high-lighted keywords
;; #1a : Rising. .
;; material
(setq material '(a b c g h i)) ; Slonimsky Pattern 05
(setq tonal (activate-tonality
(chromatic g 4) (chromatic g# 4)
(chromatic a 4) (chromatic c# 5)
(chromatic d 5) (chromatic e& 5)))
(setq tonal-1 (transpose-chords tonal 1)
tonal-2 (transpose-chords tonal 2)
tonal-3 (transpose-chords tonal 3)
)
(setq tonal-x (append tonal tonal-1 tonal-2 tonal-3))
(setq segmt1 '(-g -f -e a b c = = =))
(setq segmt2 '(= = g h i m n o))
(setq len-source1 '(1/8 1/8 1/16 1/16 1/16 1/16 1/4)) ; fl, trpt, cello
(setq len-source0 '(1/8 1/8 1/16 1/16 1/4 1/4 1/2)) ; voice
(setq mat1 (power-set segmt1)) ; power-set is MRAC function
(setq mat2 (power-set segmt2))
(setq len0 (power-set len-source0))
(setq len1 (power-set len-source1))
(setq len2 (do-section :all '(length-repeat-i 8 '1/4 x)
(power-set len-source1)))
;; score
(def-symbol
part-1 (symbol-shuffle mat1 0.1)
part-2 (symbol-shuffle mat2 0.21)
part-3 (do-section :all
'(randomize-octaves 0.3 nil -2 0 x)
(symbol-shuffle mat2 0.3))
part-4 (do-section :all
'(randomize-octaves 0.4 nil 0 2 x)
(symbol-shuffle mat1 0.4))
part-5 (symbol-shuffle mat2 0.51)
part-6 (symbol-shuffle mat1 0.6)
)
(def-length
part-1 (symbol-shuffle len1 0.1)
part-2 (symbol-shuffle len1 0.2)
part-3 (symbol-shuffle len2 0.3)
part-4 (symbol-shuffle len2 0.4)
part-5 (symbol-shuffle len1 0.5)
part-6 (symbol-shuffle len0 0.6)
)
(def-zone
default (symbol-trim
(length tonal-x)
(length-syncopate 0.9 5 1
(mapcar 'make-zone
(get-lengths-of 'part-6))))
)
#| ; to work out time-signatures
(symbol-trim 24 (mapcar (function (lambda (x)
(/ x 120))) (mapcar 'make-zone (get-lengths-of 'part-6))))
|#
(def-velocity
part-1 (do-section :all '(gen-cresc 40 84 (length x))
(get-lengths-of 'part-1))
part-2 (do-section :all '(gen-cresc 40 84 (length x))
(get-lengths-of 'part-2))
part-3 (do-section :all '(gen-cresc 40 84 (length x))
(get-lengths-of 'part-3))
part-4 (do-section :all '(gen-cresc 40 84 (length x))
(get-lengths-of 'part-4))
part-5 (do-section :all '(gen-cresc 40 84 (length x))
(get-lengths-of 'part-5))
part-6 (do-section :all '(gen-cresc 60 84 (length x))
(get-lengths-of 'part-6))
)
(def-tonality
part-1 (transpose-chords tonal-x 24)
part-2 tonal-x
part-3 tonal-x
part-4 tonal-x
part-5 (transpose-chords tonal-x -12)
part-6 (transpose-chords tonal-x 12)
)
(def-channel
part-1 1
part-2 2
part-3 3
part-4 4
part-5 5
part-6 6
)
(def-program gm-sound-set
part-1 flute
part-2 muted-trumpet
part-3 acoustic-grand-piano
part-4 marimba
part-5 cello
part-6 voice-oohs
)
(def-controller gm-controllers
(part-1 panning '((10)))
(part-2 panning '((120)))
(part-3 panning '((54)))
(part-4 panning '((74)))
(part-5 panning '((30)))
(part-6 panning '((86)))
)
(def-tempo 76)
(midiport :printer)
(compile-instrument-p "ccl;output:" "Cardew1a midi"
part-1
part-2
part-3
part-4
part-5
part-6
)